Algorithmic Abstraction in Object-Oriented Languages
نویسنده
چکیده
The abstraction gap between algorithms and procedures causes numerous duplicate eeorts in implementing the same algorithms as well as apparent under-use of many eecient algorithms. A solution to this problem is to realize algorithmic abstraction at the programming language level in addition to data abstraction. In this paper, we rst discuss the two conditions for a programming language to support algorithmic abstraction. We introduce a type system, which consists of entities from a four-level hierarchy: objects, classes, types, and kinds. We also introduce a new form of parametric polymorphism, called kind-bounded parametric polymorphism, which is a generalization of universal and inclusion-bounded parametric poly-morphisms. Then we describe the KC programming language which we have designed and implemented to realize the above ideas. We predict that the introduction of algorithmic abstraction into object-oriented languages (OOLs) will greatly increase the reusability as well as the reliability of software.
منابع مشابه
Objects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques
Analysis and design of object oriented is onemodern paradigms for developing a system. In this paradigm, there are several objects and each object plays some specific roles. Identifying objects (and classes) is one of the most important steps in the object-oriented paradigm. This paper makes a literature review over techniques to identify objects and then presents six taxonomies for them. The f...
متن کاملDistributed Applications Implemented in Maude with Parameterized Skeletons
Algorithmic skeletons are a well-known approach for implementing parallel and distributed applications. Declarative versions typically use higher-order functions in functional languages. We show here a different approach based on object-oriented parameterized modules in Maude, that receive the operations needed to solve a concrete problem as a parameter. Architectures are conceived separately f...
متن کاملIntegrated Debugging of Modelica Models
The high abstraction level of equation-based object-oriented (EOO) languages such as Modelica has the drawback that programming and modeling errors are often hard to find. In this paper we present integrated static and dynamic debugging methods for Modelica models and a debugger prototype that addresses several of those problems. The goal is an integrated debugging framework that combines class...
متن کاملCreating Algorithmic Symbols to Enhance Learning English Grammar
This paper introduces a set of English grammar symbols that the author has developed to enhance students’ understanding and consequently, application of the English grammar rules. A pretest-posttest control-group design was carried out in which the samples were students in two girls’ senior high schools (N=135, P ≤ 0.05) divided into two groups: the Treatment which received gramm...
متن کاملObject-Oriented Programming Versus Abstract Data Types
This tutorial collects and elaborates arguments for distinguishing between object-oriented programming and abstract data types. The basic distinction is that object-oriented programming achieves data abstraction by the use of procedural abstraction, while abstract data types depend upon type abstraction. Object-oriented programming and abstract data types can also be viewed as complimentary imp...
متن کامل